package com.shenfa.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.shenfa.bean.Template;
import com.shenfa.bean.TemplateImage;
import com.shenfa.bean.Template_Sub;
import com.shenfa.dao.TemplateDao;
import com.shenfa.util.sequence.SequenceUtil;

public class TemplateService {
	
	@Autowired
	private TemplateDao templateDao;
	
	@Autowired
	private SequenceUtil sequenceUtil;

	/**
	 * 根据对象条件查询模板列表
	 * @param temp	模板对象
	 * @return	模板集合
	 */
	public List<Template> getList(Template temp, int skip, int max){
		return templateDao.getList(temp, skip, max);
	}
	
	/**
	 * 根据对象条件查询模板列表,模板管理
	 * @param temp	模板对象
	 * @return	模板集合
	 */
	public List<Template> getNotVerifyList(Template temp, int skip, int max){
		return templateDao.getNotVerifyList(temp, skip, max);
	}
	
	/**
	 * 根据对象条件查询模板列表,模板审核管理
	 * @param temp	模板对象
	 * @return	模板集合
	 */
	public List<Template> getVerifyList(Template temp, int skip, int max){
		return templateDao.getVerifyList(temp, skip, max);
	}
	public int queryCountvl(Template temp){
		return templateDao.queryCountvl(temp);
	}
	
	/**
	 * 查询所有模板,下拉列表
	 * @return
	 */
	public List<Template> getAlllist(Template template) {
		return templateDao.getAllList(template);
	}

	/**
	 * 修改模板
	 * @param template
	 * @return
	 */
	public int upd(Template template) {
		return templateDao.upd(template);
	}

	/**
	 * 删除模板
	 * @param template
	 * @return
	 */
	public int del(Template template) {
		return templateDao.del(template);
	}

	/**
	 * 添加模板
	 * @param template
	 * @return
	 */
	public int add(Template template) {
		int num = templateDao.add(template);
		return num;
	}

	/**
	 * 根据模板编号查询对应的模板从表信息
	 * @param templateSub
	 * @return
	 */
	public List<Template_Sub> getTempSubList(Template_Sub templateSub) {
		 return templateDao.getTemplateSubs(templateSub);
	}
	
	/**
	 * 保存模板从表信息
	 * @param templateSub
	 * @return 
	 */
	public int updTemplateSub(Template_Sub templateSub) {
		return templateDao.updateTemplateSub(templateSub);
	}
	
	/**
	 * 添加新的模板从表信息
	 * @param templateSub
	 * @return
	 */
	public int addTemplateSub(Template_Sub templateSub) {
		return templateDao.insertTemplateSub(templateSub);
	}
	
	/**
	 * 删除模板从表信息
	 * @param templateSub
	 * @return 
	 */
	public int delTemplateSub(Template template) {
		return templateDao.deleteTemplateSub(template);
	}
	
	/**
	 * 查询最新的版本号
	 * @param cardid
	 */
	public Template getLastVersion(Template temp) {
		return templateDao.getVersion(temp);
	}
	
	
	/**
	 * 新增图片样式路径
	 * 
	 * @param image
	 * @return
	 */
	public int addTempImage(TemplateImage image){
		image.setId(sequenceUtil.getSequence(SequenceUtil.SEQ_STENCIL_IMAGE));
		return templateDao.addTempImage(image);
	}
	
	/**
	 * 删除图片样式路径
	 * 
	 * @param image
	 * @return
	 */
	public int delTempImage(String image){
		return templateDao.delTempImage(image);
	}
	
	/**
	 * 查询图样信息表
	 * 
	 * @param tempno
	 * @return
	 */
	public List<TemplateImage> queryImage(String tempno){
		return templateDao.queryImage(tempno);
	}
	
	/**
	 * 查询卡启用模板
	 * 
	 * @param cardid
	 * @return
	 */
	public List<Template> queryState(Template temp){
		return templateDao.queryState(temp);
	}
	/**
	 * 根据卡产品号查询对应的模板所有状态条数 
	 * 
	 * @param cardid
	 * @return
	 */
	public int queryTotalLen(Template temp){
		return templateDao.queryTotalLen(temp);
	}
	
	/**
	 * 根据卡产品号查询对应的模板审核状态条数
	 * 
	 * @param cardid
	 * @return
	 */
	public int queryStateLen(Template temp){
		return templateDao.queryStateLen(temp);
	}
	
	/**
	 * 根据卡产品号查询对应的模板非审核状态条数
	 * 
	 * @param cardid
	 * @return
	 */
	public int queryNotStateLen(Template temp){
		return templateDao.queryNotStateLen(temp);
	}
	/**
	 * 查询预览样子图的文件地址
	 * @param id
	 * @return
	 */
	public String show(String id){
		return null;
		//return templateDao.queryNotStateLen(cardid);
	}
}
